from redis import StrictRedis
import logging


# 自定义项目配置类
class Config(object):

    # mysql数据库配置
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/restrain"

    # 开启数据库跟踪操作
    SQLALCHEMY_TRACK_MODIFICATIONS = True

    # Redis数据库配置
    REDIS_HOST = "127.0.0.1"

    REDIS_PORT = 6379

    REDIS_NUM = 1

    SECRET_KEY = "ASDOOHEFBKFBKSDBSGUIEH"

    # 指明数据库类型需要Redis数据库
    SESSION_TYPE = "redis"

    # 创建真实存储数据库的对象进行赋值
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT, db=REDIS_NUM)

    # session_id是否需要加密处理
    SESSION_USE_SIGNEL = True

    # 设置数据不需要永久保存, 根据自己设置的时长进行调整
    SESSION_PERMANENT = False

    # 设置保存时长, 默认是31天
    PERMANENT_SESSION_LIFETIME = 86400


# 自定义开发模式项目配置信息
class DevelopmentConfig(Config):

    DEBUG = True

    LOG_LEVEL = logging.DEBUG


class ProductionConfig(Config):

    DEBUG = False

    LOG_LEVEL = logging.WARNING


# 提供接口给外界使用
config_dict = {
    "development": DevelopmentConfig,
    "production": ProductionConfig
}
